home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / video / fly8111-.000 / fly8111- / fly8 / notes.h < prev    next >
C/C++ Source or Header  |  1979-12-31  |  2KB  |  110 lines

  1. /* --------------------------------- notes.h -------------------------------- */
  2.  
  3. /* This is part of the flight simulator 'fly8'.
  4.  * Author: Eyal Lebedinsky (eyal@ise.canberra.edu.au).
  5. */
  6.  
  7. /* Define notes stuff for tunes.c.
  8. */
  9.  
  10. #ifndef FLY8_NOTES
  11. #define FLY8_NOTES
  12.  
  13. /* pitch */
  14.  
  15. #define    RR_    0        /* rest */
  16.  
  17. #define    CN_    2093        /* note pitch */
  18. #define    CSH_    2217
  19. #define    DFL_    2217
  20. #define    DN_    2349
  21. #define    DSH_    2489
  22. #define    EFL_    2489
  23. #define    EN_    2637
  24. #define    FN_    2794
  25. #define    FSH_    2960
  26. #define    GFL_    2960
  27. #define    GN_    3136
  28. #define    GSH_    3322
  29. #define    AFL_    3322
  30. #define    AN_    3520
  31. #define    ASH_    3729
  32. #define    BFL_    3729
  33. #define    BN_    3951
  34.  
  35. #define    H_    1L        /* C5=32.7Hz */
  36. #define    I_    2L        /* C6=65.4Hz */
  37. #define    J_    4L        /* C7=130.8Hz */
  38. #define    K_    8L        /* C8=261.6Hz [A8=440Hz]*/
  39. #define    L_    16L        /* C9=523.3Hz */
  40. #define    M_    32L        /* C10=1046.5Hz */
  41. #define    N_    64L        /* C11=2093Hz */
  42.  
  43.  
  44. /* duration */
  45.  
  46. #define    T1_        (16*64*4*3)        /* 1 = 4*millisecs */
  47. #define    T2_        (T1_/2)
  48. #define    T4_        (T1_/4)
  49. #define    T8_        (T1_/8)
  50. #define    T16_        (T1_/16)
  51. #define    T32_        (T1_/32)
  52. #define    T64_        (T1_/64)
  53. #define    TT1_        (T1_*2/3)
  54. #define    TT2_        (TT1_/2)
  55. #define    TT4_        (TT1_/4)
  56. #define    TT8_        (TT1_/8)
  57. #define    TT16_        (TT1_/16)
  58. #define    TT32_        (TT1_/32)
  59. #define    TT64_        (TT1_/64)
  60. #define    D1_        (T1_*3/2)
  61. #define    D2_        (D1_/T2)
  62. #define    D4_        (D1_/T4)
  63. #define    D8_        (D1_/T8)
  64. #define    D16_        (D1_/T16)
  65. #define    D32_        (D1_/T32)
  66. #define    D64_        (D1_/T64)
  67. #define    DD1_        (T1_*7/4)
  68. #define    DD2_        (DD1_/2)
  69. #define    DD4_        (DD1_/4)
  70. #define    DD8_        (DD1_/8)
  71. #define    DD16_        (DD1_/16)
  72. #define    DD32_        (DD1_/32)
  73. #define    DD64_        (DD1_/64)
  74.  
  75.  
  76. /* articulation */
  77.  
  78. #define    SLUR_    0    /* macro P */
  79. #define    LEGATO_    1/16    /* macro PL */
  80. #define    SLEG_    1/8    /* macro PSL */
  81. #define    SSLEGA_    1/4    /* macro PSSL */
  82. #define    STACO_    1/2    /* macro PST */
  83. #define    SSTACO_    5/8    /* macro PSST */
  84.  
  85.  
  86. /* macros */
  87.  
  88. #define    P_(o,n,d)    (int)(n*o/N_),(int)(d)
  89. #define    R_(d)        RR_,(int)(d)
  90. #define    PL_(o,n,d)    (int)(n*o/N_),(int)((d)-(d)*LEGATO_), \
  91.             RR_,(int)((d)*LEGATO_)
  92. #define    PSL_(o,n,d)    (int)(n*o/N_),(int)((d)-(d)*SLEG_), \
  93.             RR_,(int)((d)*SLEG_)
  94. #define    PSSL_(o,n,d)    (int)(n*o/N_),(int)((d)-(d)*SSLEG_), \
  95.             RR_,(int)((d)*SSLEG_)
  96. #define    PST_(o,n,d)    (int)(n*o/N_),(int)((d)-(d)*STACO_), \
  97.             RR_,(int)((d)*STACO_)
  98. #define    PSST_(o,n,d)    (int)(n*o/N_),(int)((d)-(d)*SSTACO_), \
  99.             RR_,(int)((d)*SSTACO_)
  100.  
  101. #define    CEND_        -1
  102. #define    CGO_        -2
  103. #define    CRPT_        -3
  104.  
  105. #define    GOTO_(a)    CGO_,a
  106. #define    REPEAT_(a,n)    CRPT_,a,n,0
  107. #define    END_        CEND_,0
  108.  
  109. #endif
  110.